package org.coopac.model;

// Generated 25/05/2012 06:04:04 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * CoopacTrabajador generated by hbm2java
 */
@Entity
@Table(name = "coopac_trabajador", catalog = "coopac_final")
public class CoopacTrabajador implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idTrabajador;
	private CoopacPersona coopacPersona;
	private Boolean flag;
	private Set<CoopacConsultaSocioPotencial> coopacConsultaSocioPotencials = new HashSet<CoopacConsultaSocioPotencial>(
			0);
	private Set<CoopacAreaTrabajador> coopacAreaTrabajadors = new HashSet<CoopacAreaTrabajador>(
			0);

	public CoopacTrabajador() {
	}

	public CoopacTrabajador(CoopacPersona coopacPersona, Boolean flag,
			Set<CoopacConsultaSocioPotencial> coopacConsultaSocioPotencials,
			Set<CoopacAreaTrabajador> coopacAreaTrabajadors) {
		this.coopacPersona = coopacPersona;
		this.flag = flag;
		this.coopacConsultaSocioPotencials = coopacConsultaSocioPotencials;
		this.coopacAreaTrabajadors = coopacAreaTrabajadors;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "ID_TRABAJADOR", unique = true, nullable = false)
	public Integer getIdTrabajador() {
		return this.idTrabajador;
	}

	public void setIdTrabajador(Integer idTrabajador) {
		this.idTrabajador = idTrabajador;
	}

	@ManyToOne 
	@JoinColumn(name = "ID_PERSONA")
	public CoopacPersona getCoopacPersona() {
		return this.coopacPersona;
	}

	public void setCoopacPersona(CoopacPersona coopacPersona) {
		this.coopacPersona = coopacPersona;
	}

	@Column(name = "FLAG")
	public Boolean getFlag() {
		return this.flag;
	}

	public void setFlag(Boolean flag) {
		this.flag = flag;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "coopacTrabajador")
	public Set<CoopacConsultaSocioPotencial> getCoopacConsultaSocioPotencials() {
		return this.coopacConsultaSocioPotencials;
	}

	public void setCoopacConsultaSocioPotencials(
			Set<CoopacConsultaSocioPotencial> coopacConsultaSocioPotencials) {
		this.coopacConsultaSocioPotencials = coopacConsultaSocioPotencials;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "coopacTrabajador")
	public Set<CoopacAreaTrabajador> getCoopacAreaTrabajadors() {
		return this.coopacAreaTrabajadors;
	}

	public void setCoopacAreaTrabajadors(
			Set<CoopacAreaTrabajador> coopacAreaTrabajadors) {
		this.coopacAreaTrabajadors = coopacAreaTrabajadors;
	}

}
